package day10;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/**
 * @author joker
 * @date 2022/4/20 0020 - 23:47
 */
public class FileTest5 {
    public static void main(String[] args) throws IOException {
        FileReader fr = null;
        FileWriter fw = null;
        try {
            fr = new FileReader("hello.txt");
            fw = new FileWriter("hello1.txt");
            char[] cubf=new char[5];
            int len;
            while ((len=fr.read(cubf))!=-1){
                fw.write(cubf,0,len);
                System.out.println("ok");
                fw.flush();
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (fw != null) {
                try {
                    fw.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (fr != null) {
                try {
                    fr.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

//        FileReader fr = null;
//        FileWriter fw = null;
//        try {
//            //1.创建File类的对象，指明读入和写出的文件
//            File srcFile = new File("hello.txt");
//            File destFile = new File("hello2.txt");
//
//            //不能使用字符流来处理图片等字节数据
////            File srcFile = new File("爱情与友情.jpg");
////            File destFile = new File("爱情与友情1.jpg");
//
//
//            //2.创建输入流和输出流的对象
//            fr = new FileReader(srcFile);
//            fw = new FileWriter(destFile);
//
//
//            //3.数据的读入和写出操作
//            char[] cbuf = new char[5];
//            int len;//记录每次读入到cbuf数组中的字符的个数
//            while((len = fr.read(cbuf)) != -1){
//                //每次写出len个字符
//                fw.write(cbuf,0,len);
//
//            }
//        } catch (IOException e) {
//            e.printStackTrace();
//        } finally {
//            //4.关闭流资源
//            //方式一：
////            try {
////                if(fw != null)
////                    fw.close();
////            } catch (IOException e) {
////                e.printStackTrace();
////            }finally{
////                try {
////                    if(fr != null)
////                        fr.close();
////                } catch (IOException e) {
////                    e.printStackTrace();
////                }
////            }
//            //方式二：
//            try {
//                if(fw != null)
//                    fw.close();
//            } catch (IOException e) {
//                e.printStackTrace();
//            }
//
//            try {
//                if(fr != null)
//                    fr.close();
//            } catch (IOException e) {
//                e.printStackTrace();
//            }
//
//        }
//
//    }
    }
}

